IF exists(SELECT * FROM dbo.sysobjects WHERE name='fl_aantalToetsenTaken' AND xtype='P') 
BEGIN
	DROP PROCEDURE fl_aantalToetsenTaken
END
GO

CREATE      procedure fl_aantalToetsenTaken
(@semester int,@periode int,@klas varchar(5))
as
set nocount on

create table #hulptabel
(iNr varchar(7),klasnr int, deNaam varchar(70),
 vak1 char(2), aantalTaak1 int, aantalToets1 int,
 vak2 char(2), aantalTaak2 int, aantalToets2 int,
 vak3 char(2), aantalTaak3 int, aantalToets3 int,
 vak4 char(2), aantalTaak4 int, aantalToets4 int,
 vak5 char(2), aantalTaak5 int, aantalToets5 int,
 vak6 char(2), aantalTaak6 int, aantalToets6 int,
 vak7 char(2), aantalTaak7 int, aantalToets7 int,
 vak8 char(2), aantalTaak8 int, aantalToets8 int,
 vak9 char(2), aantalTaak9 int, aantalToets9 int,
 vak10 char(2), aantalTaak10 int, aantalToets10 int,
 vak11 char(2), aantalTaak11 int, aantalToets11 int,
 vak12 char(2), aantalTaak12 int, aantalToets12 int,
 vak13 char(2), aantalTaak13 int, aantalToets13 int,
 vak14 char(2), aantalTaak14 int, aantalToets14 int,
 vak15 char(2), aantalTaak15 int, aantalToets15 int,
 vak16 char(2), aantalTaak16 int, aantalToets16 int,
 vak17 char(2), aantalTaak17 int, aantalToets17 int,
 vak18 char(2), aantalTaak18 int, aantalToets18 int, 
 vak19 char(2), aantalTaak19 int, aantalToets19 int, 
 vak20 char(2), aantalTaak20 int, aantalToets20 int)

insert into #hulpTabel(iNr,klasNr,deNaam)
select inschrijvingsNr,klasNr, Voornaam + ' ' + achternaam
from leerlingen..leerlingen where klas = @klas

--select * from #hulptabel

declare @vak char(2)
declare @v int
declare @vakNr varchar(2)
declare @sqlZin varchar(8000)

declare deCursor cursor local for
select distinct vak
from fl_toetsVakKenmerken
  where (semester = @semester) 
	and (klas = @klas)
     	  and ((maxTaak > 0) 
            or (minToets > 0))
  order by vak
  for read only

set @v = 1
open deCursor
fetch next from deCursor into @vak
while (@@fetch_status=0)
    begin
	set @vakNr = convert(varchar(3),@v)
	set @sqlZin = 'update #hulpTabel ' +
	' set vak' + @vakNr + ' = ''' + @vak + ''',' +
	' aantalTaak' + @vakNr + ' = taak,' + 
	' aantalToets' + @vakNr + ' = toets ' +
	' from (select inschrijvingsNr,taak,toets from fl_toetsLlnInschrijving ' +
	' where vak = ''' + @vak + ''' and semester =''' + convert(varchar(2),@semester) + 
	''' and periode = ''' + convert(varchar(2),@periode) + 
	''') as l,#hulptabel as h' +
	' where l.inschrijvingsNr = h.iNr'
	set @v = @v + 1 
	--print(@sqlZin)	
	exec(@sqlZin)
  	fetch next from deCursor into @vak
      end
close deCursor
deallocate deCursor

select * from #hulpTabel